#include<stdio.h>
#include<signal.h>
#include<unistd.h>
void handler(int signo)
{
    printf("捕获到信号 %d\n",signo);
}
int main()
{
    signal(SIGINT,handler);
    sigset_t blockset;
    sigemptyset(&blockset);
    sigaddset(&blockset,SIGINT);
    sigprocmask(SIG_BLOCK,&blockset,NULL);
    printf("请按Ctrl+C(SIGINT)\n");
    sleep(5);
    sigset_t pendingset;
    sigpending(&pendingset);
    if(sigismember(&pendingset,SIGINT))
    {
        printf("SIGINT信号在pending集合中!\n");
    }
    else
    {
        printf("SIGINT信号不在pending集合中!\n");
    }
    sigprocmask(SIG_UNBLOCK,&blockset,NULL);
    printf("接触阻塞,SIGINT会立即递达handler\n");
    sleep(2);
    return 0;
}